




			RUBIK
		       -------

	Se da o grila de dimensiuni mxn (m linii, n coloane) care contine in fiecare
celula, un numar natural din intervalul [1,1000]. O operatie consta in a aduna valoarea
k (-1000<=k<=1000) la numerele continute intr-o anumita celula si in toate celulele adi-
acente pe verticala sau orizontala (nu si pe diagonala). Determinati o secventa de ope-
ratii care duce la obtinerea aceleiasi valori v in toate cele mxn celule ale grilei.
	Datele de intrare se citesc din fisierul RUBIK.IN care contine pe prima linie
numerele m si n, separate printr-un spatiu, iar pe urmatoarele m linii cate n numere.
Al j-lea numar de pe linia i a fisierului va corespunde numarului din a j-a celula de pe
linia (i-1) a grilei. Numerele de pe aceeasi linie vor fi separate prin spatii.
	Datele de iesire vor fi scrise in fisierul RUBIK.OUT. Prima linie va contine
valoarea v, iar a doua numarul x de operatii care trebuie efectuate. Urmatoarele x linii
vor contine trei numere. Primele doua vor indica linia si coloana (in aceasta ordine)
celulei alese pentru operatie, iar al treilea valoarea k care va fi adunata la numarul
din celula si din celulele adiavente pe orizontala sau verticala. Programul va trebui
sa furnizeze, in cel mult 10 secunde, o secventa corecta de operatii, nu neaparat cu
numar minim de pasi.

EXEMPLU:
RUBIK.IN			RUBIK.OUT
5 5				21
21 26 20 21 21			5
26 26 25 20 21			2 2 -5
22 27 21 17 21			2 3 1
10 22 17 17 17			3 2 -1
10 10 21 17 21			4 4 4
				5 1 11